package com.hspedu.object_;

public class Finalize_ {
    public static void main(String[] args) {

        Car bmw = new Car("宝马");
        //这时 Car 对象就是一个垃圾，垃圾回收器就是销毁对象，在销毁对象前，会调用该对象的 finalize 方法
        //可以再 finalize() 中，写自己的业务逻辑代码(比如释放资源；数据库链接；或者打开文件···)
        bmw = null;
        System.gc();//主动调用垃圾回收器
        System.out.println("程序退出了···");
    }
}


class Car {
    private String name;

    public Car(String name) {
        this.name = name;
    }

    @Override
    protected void finalize() throws Throwable {
        System.out.println("我们销毁汽车" + name);
        System.out.println("释放了某些资源···");
    }
}
